#define _CRT_SECURE_NO_WARNINGS 1

#include <stdio.h>

//int main()
//{
//	int b = 0;
//	int a = 0;
//	scanf("%d %d", &a, &b);
//	int max = (a > b ? a : b);
//	while (max % a != 0 || max % b != 0)
//	{
//		max++;
//	}
//	printf("%d", max);
//	return 0;
//}

//int main()
//{
//	int b = 0;
//	int a = 0;
//	scanf("%d %d", &a, &b);
//	int n = b;
//	while(a%b!=0)
//	{
//		n = a % b;
//		a = b;
//		b = n;
//	}
//	printf("%d", n);
//	return 0;
//}

//
//char ch[] = "0";
//char ch[] = { 0 };



#include <string.h>
#include <assert.h>


void reverse(char* left, char* right)
{
	assert(left && right);
	while (left < right)
	{
		char tmp = *left;
		*left = *right;
		*right = tmp;	
		left++;
		right--;
	}
}

int main()
{
	char ch[101] = { 0 };
	gets(ch);
	int len = strlen(ch);
	reverse(ch, ch + len - 1);
	char* cur = ch;
	while (*cur)
	{
		char* str = cur;
		while (*cur != ' ' && *cur != '\0')
		{
			cur++;
		}
		reverse(str, cur - 1);
		if (*cur != '\0')
			cur++;
	}
	printf("%s", ch);
	return 0;
}